package com.lagou.service;

import com.lagou.entity.PayOrder;
import com.lagou.entity.PayOrderRecord;
import com.lagou.entity.UserCourseOrder;

import java.util.List;

/**
 *
 */
public interface OrderService {
    /**
     *
     * @param orderNo 订单编号
     * @param user_id 用户编号
     * @param course_id 课程编号
     * @param activity_course_id 活动课程编号
     * @param source_type 订单来源类型
     */
    public void saveOrder(String orderNo,String user_id, String course_id, String activity_course_id, String source_type);

    /**
     *
     * @param orderNo 订单编号
     * @param status 订单状态 0已创建 10未支付 20已支付 30已取消 40已过期
     * @return 受影响的行数
     */
    Integer updateOrder(String orderNo,Integer status);
    /**
     * 删除订单
     * @param orderNo 订单编号
     * @return
     */
    Integer deleteOrder(String orderNo);
    /**
     * 查询登录用户的全部订单，即用户的全部订单，只是需要登录后才可以看到，这是一定的
     * @param userId 用户编号
     * @return 所有订单
     */
    List<UserCourseOrder> getOrdersByUserId(String userId);

    List<UserCourseOrder> getOKOrderCourseIds(Integer userId);
    /**
     * 保存订单信息
     * @param payOrder
     */
    void saveOrderInfo(PayOrder payOrder);

    /**
     * 保存订单记录信息
     * @param payOrderRecord
     */
    void saveOrderRecord(PayOrderRecord payOrderRecord);
}
